package com.rc.web.service.impl;

import com.mybatisflex.core.tenant.TenantManager;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import com.rc.pojo.po.History;
import com.rc.web.mapper.HistoryMapper;
import com.rc.web.service.HistoryService;
import org.springframework.stereotype.Service;

import java.util.Collections;
import java.util.List;

/**
 * 历史记录服务实现类
 * 提供历史记录相关的业务逻辑实现
 */
@Service
public class HistoryServiceImpl extends ServiceImpl<HistoryMapper, History> implements HistoryService {

    /**
     * 获取最近六条历史记录
     * @return 最近六条历史记录的关键词列表
     */
    @Override
    public List<String> getLastSix() {
        // 首先尝试获取当前租户的历史记录
        var strings = mapper.selectLastSix();
        
        // 如果记录不足六条，则忽略租户条件获取更多记录
        if (strings.size() <= 6) {
            strings = TenantManager.withoutTenantCondition(() -> mapper.selectLastSix());
        }

        // 随机打乱顺序
        Collections.shuffle(strings);

        return strings;
    }
}
